package controller

import (
	"gitee.com/huangxinbo/xcas/internal/app/base"
	"gitee.com/huangxinbo/xcas/internal/service"
)

type Controller struct {
	// Add Controller layer instances
	AppController     *AppController
	CasController     *CasController
	CaptchaController *CaptchaController
	UserController    *UserController
	FileController    *FileController
	OAuthController   *OAuthController
}

func NewController(base *base.Base, service *service.Service) *Controller {
	return &Controller{
		// Add Controller layer instances
		AppController:     NewAppController(base),
		CasController:     NewCasController(base, service),
		CaptchaController: NewCaptchaController(base, service),
		UserController:    NewUserController(base, service),
		FileController:    NewFileController(base, service),
		OAuthController:   NewOAuthController(base, service),
	}
}
